#ifndef SD__SELF_DEBUG_H
#define SD__SELF_DEBUG_H

namespace sd {

class SelfDebug {
public:
	static SelfDebug &getInstance();
protected:
	bool flattenMultidimensionalArray_;
protected:
	SelfDebug();
private:
	SelfDebug(const SelfDebug &_selfDebug);
protected:
	virtual ~SelfDebug();
public:
	virtual bool loadDebugInfo(const char *_file) const = 0;
public:
	virtual bool infoLocals() const = 0;
public:
	void setFlattenMultidimensionalArray(bool _flattenMultidimensionalArray);
};

}

#endif // SD__SELF_DEBUG_H
